package ltd.hanamaki.study.method;

import java.util.Arrays;

// 可变长 参数
/* 可变长参数的本质 是 数组 */
/* 可变长参数 要放在参数列表的 最后一个 ，只能有一个可变长参数 */
public class Demo05 {

    public static void main(String[] args) {

        int max = max(1, 2);
        int max1 = max(1, 2, 5);
        int max2 = max(1, 3, 5, 7, 9, 34, 2, 1);
        max(1.0, 3.0, 5.0, 7.0, 9.0, 34.0, 2.0, 1.0);
        System.out.println(max);
        System.out.println(max1);
        System.out.println(max2);

    }

    /**
     * 两数比较大小,并且输入 最大值 方法
     */
    public static int max(int a, int b) {
        if (a == b) {
            System.out.println("相等");
            return a;
        } else {
            return a > b ? a : b;
        }
    }

    /**
     * 3数比较大小,并且输入 最大值 方法
     */
    public static int max(int a, int b,int c) {
        if (a == b && b == c && a == c) {
            System.out.println("相等");
            return a;
        } else {
            return ((a > b) && (a > c)) ? a : (b > c ? b : c);
        }
    }

    /**
     * 十数比较大小,并且输入 最大值 方法
     */
    public static int max(int... a) {
        /* 如何 找到 数组中的最大值 */
        int max = a[0];
        for (int i = 1; i < a.length; i++) {
            if (a[i] > max) {
                max = a[i];
            }
        }
        return max;
    }

    public static void max(double... a) {
        /* 如何 找到 数组中的最大值 */
        Arrays.sort(a);

        System.out.println(a[a.length - 1]);
    }

}
